/**
 * excel 上传
 *
 * uploadUrl: 上传路径
 * uploadBtnId: 上传按钮的id
 * fileSizeLimit: 上传最大限制
 */
(function() {
	var $ExcelUpload = function(fileId,url,chooseId) {
        this.pictureId = fileId;
		this.uploadBtnId = fileId + "BtnId";
		this.uploadUrl = url;
		this.fileSizeLimit = 100 * 1024 * 1024;
		this.chooseList=chooseId;
	};

    $ExcelUpload.prototype = {
		/**
		 * 初始化webUploader
		 */
		init : function() {
			var uploader = this.create();
			this.bindEvent(uploader);
			return uploader;
		},
		
		/**
		 * 创建webuploader对象
		 */
		create : function() {
			var webUploader = WebUploader.create({
                // 选完文件后，是否自动上传。
				auto : true,
                // 选择文件的按钮。可选。
                // 内部根据当前运行是创建，可能是input元素，也可能是flash.
				pick : {
					id : '#' + this.uploadBtnId,
					multiple : false,// false只上传一个，true可以上传多个
				},
                // 只允许excel文件。
				accept : {
					title : 'file',
					extensions : 'xls,xlsx'
				},
                // swf文件路径
				swf : Feng.ctxPath
						+ '/static/js/plugins/webuploader/Uploader.swf',
                //是否禁掉整个页面的拖拽功能
				disableGlobalDnd : true,
				//是否可以重复上传
				duplicate : true,
				//文件上传的服务器端
				server : this.uploadUrl,
                // 文件最大限制
				fileSingleSizeLimit : this.fileSizeLimit
				//如需获取更多的配置参数查看http://fex.baidu.com/webuploader/doc/index.html 文档
			});
			
			return webUploader;
		},

		/**
		 * 绑定事件
		 */
		bindEvent : function(bindedObj) {
			var me =  this;
			bindedObj.on('fileQueued', function(file) {

			});

			// 文件上传过程中创建进度条实时显示。
			bindedObj.on('uploadProgress', function(file, percentage) {
			});

			// 文件上传成功，给item添加成功class, 用样式标记上传成功。
			bindedObj.on('uploadSuccess', function(file,response) {
				Feng.success("上传成功");
                InputExcel.table.refresh();
                InputExcel.data=response;
                for (var j in response) {
                    if (j == "goodsExcel") {
                        InputExcel.data=response[j];
                    	}
                }
			});

			// 文件上传失败，显示上传出错。
			bindedObj.on('uploadError', function(file) {
				Feng.error("上传失败");
			});

			// 其他错误
			bindedObj.on('error', function(type) {
				if ("Q_EXCEED_SIZE_LIMIT" == type) {
					Feng.error("文件大小超出了限制");
				} else if ("Q_TYPE_DENIED" == type) {
					Feng.error("文件类型不满足");
				} else if ("Q_EXCEED_NUM_LIMIT" == type) {
					Feng.error("上传数量超过限制");
				}  else {
					Feng.error("上传过程中出错");
				}
			});

			// 完成上传完了，成功或者失败
			bindedObj.on('uploadComplete', function(file) {
			});
		},
	};
	window.$ExcelUpload = $ExcelUpload;
}());